package ru.pb.auth.configs;

import java.io.IOException;

import org.apache.log4j.Logger;

import ru.pb.global.configs.Config;
import ru.pb.global.utils.ExitCode;

/**
 * @author Felixx
 */
public class AuthNetworkConfig
{
	private static final Logger _log = Logger.getLogger(AuthNetworkConfig.class);

	private static final String FileName = "./configs/network.ini";

	/** Хост для приема подключений игрового клиента. */
	public static String AUTH_SERVER_LISTENER_HOST;
	/** Порт приема подключения игрового клиента. */
	public static int AUTH_SERVER_LISTENER_PORT;

	/** Хост для приема подключений игрового сервера. */
	public static String GAME_SERVER_LISTENER_HOST;
	/** Порт приема подключения игрового сервера. */
	public static int GAME_SERVER_LISTENER_PORT;

	public static void load()
	{
		try
		{
			Config conf = new Config(FileName);

			AUTH_SERVER_LISTENER_HOST = conf.getStringValue("listener", "GameClienHost", "*");
			AUTH_SERVER_LISTENER_PORT = conf.getIntegerValue("listener", "GameClienPort", 39190);

			GAME_SERVER_LISTENER_HOST = conf.getStringValue("listener", "GameServerHost", "*");
			GAME_SERVER_LISTENER_PORT = conf.getIntegerValue("listener", "GameServerPort", 7689);
		}
		catch(IOException e)
		{
			_log.error("Не возможно загрузить файлы конфигурации.", e);
			System.exit(ExitCode.CODE_ERROR.getId());
		}
		catch(Exception e)
		{
			_log.error("Ошибка доступа к файлу или директории.", e);
			System.exit(ExitCode.CODE_ERROR.getId());
		}
		finally
		{
			_log.info(FileName + " Успешно загружен.");
		}
	}
}